1. Field of the Invention
The present invention relates to configuration of computer systems, and more specifically to the storage of configuration states corresponding to computer systems.
2. Description of Related Art
The availability of non-volatile memory is ever decreasing, while the need to store more and more complex configuration information keeps increasing. Moreover, to support new hardware configurations, storage of hardware setting into non-volatile memory has had to be done by hand for each product. Thus, the layout and usage of non-volatile memory is very inefficient. Also, changing the code every product increases the potential for programming errors.
Each product, when configured, typically requires a set of configuration information to be placed into non-volatile memory corresponding to the hardware. When configured, the memory associated with the device is filled with configuration information, determined by a configuration algorithm. However, some configuration information is similar for similar products. Nevertheless, this prefix information is stored separately for each product. The storage of this configuration setting in the non-volatile memory requires greater use of non-volatile memory, and is highly product and version specific. As new products are developed and new versions introduced, more information to distinguish one product from another must be added to the configuration register, to adequately describe differences among various products.
Not only does the configuration data evolve, but also the storage processes must be adapted to new products. The ROM (read only memory) BIOS (basic input/output system) must contain processes for identifying and configuring an enormous assortment of possible products within the system. Product dependent packing and unpacking configuration processes occupy a large portion of the ROM BIOS, and impose minimum space requirements within the system ROM.